package com.example.test.advice.第一章_java开发中常用的方法和准则.建议3_三元操作符的类型必须一致;

/**
 * 三元操作符类型的转换规则
 * 1、若两个操作数不可转换，则不做转换，返回值为Object类型
 * 2、若两个操作数是明确类型的表达式（比如变量），则按照正常的二进制数字来转换
 * int类型转换为long类型，long类型转换为float类型
 * 3、若两个操作数中有个是数字S,另外一个是表达式，且其类型标示为T,那么若数字S在T的范围内，则转换为T类型
 * 若S超出了T类型的范围，则T转换为S类型，（可以参看建议22，会对该问题进行展开描述）。
 * 4、若两个操作数是直接量数字（Literal），则返回类型为范围较大者。
 */
public class Client {

    public static void main(String[] args) {
        int i = 80;
        String s = String.valueOf(i<100?90:100);
        String s1 = String.valueOf(i<100?90:100.0);
        System.out.println("s:"+s);
        System.out.println("s1:"+s1);
        System.out.println("两者是否相等："+s.equals(s1));
    }
}
